package com.xxjqr.rbac.service;

import com.xxjqr.rbac.entity.dto.MenuDto;
import com.xxjqr.rbac.entity.pojo.TbMenu;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xxjqr.rbac.entity.vo.MenuListVo;
import com.xxjqr.rbac.enums.StatusEnum;

import java.util.List;

/**
 * <p>
 * 菜单表 服务类
 * </p>
 *
 * @author 丁昌江
 * @since 2021-01-22
 */
public interface TbMenuService extends IService<TbMenu> {
    /**
     * @描述 getMenuTree
     * @返回 java.util.List<com.xxjqr.rbac.entity.vo.MenuVo>
     * @码农 丁昌江
     * @日期 2021/1/31 19:02
     */
    List<MenuListVo> getMenuTree(String name, StatusEnum status);

    /**
     * @param menuDto com.xxjqr.rbac.entity.pojo.TbMenu
     * @描述 添加菜单
     * @返回 void
     * @码农 丁昌江
     * @日期 2021/1/23 10:56
     */
    int addMenu(MenuDto menuDto);

    /**
     * @param id 删除的菜单id
     * @描述 删除菜单
     * @返回 int 影响操作数
     * @码农 丁昌江
     * @日期 2021/1/23 10:56
     */
    int delMenu(Long id);

    /**
     * @描述 修改菜单
     * @返回 int
     * @码农 丁昌江
     * @日期 2021/1/31 19:34
     */
    int editMenu(MenuDto menuDto);


    List<MenuListVo> getUserMenus(Long userId);
}
